要求:计算(2+3)*4的值:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function a(x,y,z,m){ //m表示形参,表示代入的函数b
var re=x+y;
return m(re,z); //执行函数b,实参re和z,再代入函数b的x,y
};
function b(x,y){ //x,y与上面的x,y完全不一样,这时执行x=re代入的实参,y执行y=z,即z=4的实参
return x*y;
};
var c=a(2,3,4,b);
alert(c)
</script>
</head>
<body>
</body>
</html>
返回值:20
另一种方法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function a(x,y,){
return x+y;
};
function b(x,y,z,m){ //代入b的4个实参,其中形参代入的是函数a
var re=m(x,y); //执行回调函数a,将上面的实参转入a函数
return re*z
};
var c=b(2,3,4,a);
alert(c)
</script>
</head>
<body>
</body>
</html>
返回值:20